home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Taifun / Taifun 013 (1987-05-15)(Ossowski, Stefan)(DE)(PD).zip / Taifun 013 (1987-05-15)(Ossowski, Stefan)(DE)(PD).adf / amigaventure / README < prev    next >
Text File  |  1987-03-04  |  6KB  |  111 lines

  1. Article 5048 of net.micro.amiga:
  2. Relay-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site well.UUCP
  3. Path: well!ptsfa!dual!unisoft!lll-lcc!lll-crg!seismo!think!husc6!husc4!hadeishi
  4. From: hadeishi@husc4.harvard.edu (mitsuharu hadeishi)
  5. Newsgroups: net.micro.amiga
  6. Subject: AmigaVenture1.17 (INTRODUCTION)
  7. Message-ID: <395@husc6.HARVARD.EDU>
  8. Date: 14 Oct 86 18:12:40 GMT
  9. Date-Received: 15 Oct 86 10:47:03 GMT
  10. Sender: news@husc6.HARVARD.EDU
  11. Reply-To: hadeishi@husc4.UUCP (mitsuharu hadeishi)
  12. Distribution: net
  13. Organization: Harvard Science Center
  14. Lines: 93
  15.  
  16.  
  17.     Welcome to AmigaVenture 1.17 . . . !
  18.  
  19.     What follows is a program I hacked up on the weekends that allows
  20. you to write your own Infocom-style adventure games in AmigaBasic.  I
  21. chose AmigaBasic because 1) It is an interpreted language, 2) It is
  22. relatively fast, 3) It is somewhat structured, making it at least possible
  23. to read, and 4) It is a full-featured programming language allowing you
  24. to modify and enhance the adventure system directly.
  25.  
  26.     This is NOT an adventure INTERPRETER.  Several reasons I chose
  27. not to write an interpreter are: 1) Adventure writers would be stuck
  28. with the limitations of the interpreter, 2) I didn't want this project
  29. to take all of my time, 3) I didn't feel like implementing a language
  30. system when AmigaBasic was already there and working just fine, thank you,
  31. and 4) I wanted to be able to dynamically extend the capabilities of
  32. the program in an interpretive setting.
  33.  
  34.     What you GET: 1) A full-featured adventure parser, including
  35. direct and indirect objects, multiple object processing, adjectives,
  36. automatic ambiguity resolution, and subordinate clauses.  The parser
  37. also includes support for one, two, and three-word verbs which makes
  38. it very easy for the adventure writer to support more natural-language
  39. style commands (my girlfriend when she first played AmigaVenture typed
  40. in a large number of sentences which would have choked the Infocom
  41. parser but were handled fine by this parser, such as "pick up the towel"
  42. or "get rid of the bag.")  2)  A full set of object-manipulation
  43. primitives that will handle objects inside, on top of, underneath,
  44. and wrapped by other objects in a general fashion (allowing objects, for
  45. example, to be simultaneously on top of and inside an object, unlike Infocom.)
  46. Automatically handled is the issue of object size and capacity, as
  47. well as the total weight of each object.  The primitives handle
  48. the details of maintaining the tree structures and attribute arrays
  49. (such as weight, bulk, etc.), and the programmer need not (and in fact
  50. should not) fiddle with the internal details of the data structures.
  51. 3)  A full set of basic verbs written with these primitives.  4) Fully
  52. commented source code.  (Well, the source code is the same as the
  53. executable, but what the hell.  There is an AmigaBasic compiler
  54. coming from AbSoft, so if you really wanted speed you could develop
  55. the adventure with the interpreter and compile it with the compiler.)
  56. 5) A sample micro-adventure (not an adventure, really, just a bunch
  57. of locations to test the adventure system.)  If you wish to write your
  58. own adventure, please eliminate the small amount of code in this kernal
  59. relating to the microadventure (there are two adventure-specific
  60. verbs and the list of objects, object attributes and descriptions,
  61. and map locations and their descriptions.  Simply replace these with
  62. your own locations and objects and you're ready to go.)
  63.  
  64.     IMPORTANT NOTE:  This code is NOT to be used in ANY commerical
  65. product, in WHOLE or IN PART, without my EXPLICIT WRITTEN PERMISSION
  66. and a WRITTEN AGREEMENT.  Please, guys, be ethical about this.  This code
  67. is intended to make it easy for people to create adventure worlds
  68. for themselves and other people on the net and elsewhere.  This code is
  69. distributed on the condition that the copyright notice in the code be
  70. included in any adventure written using this.  If you want to make money
  71. with it, talk to me first; I reserve rights for commercial distribution
  72. of any program based on this code.  Thank you!
  73.  
  74.     However, I encourage anyone to please write adventures with
  75. this system and distribute them in the public domain.  If you have
  76. suggestions for improvements to the kernal, please email me so I can
  77. distribute enhanced versions in the future.
  78.  
  79.     The code provided is heavily commented and would be about
  80. half the size minus all the comments and explanations.  I am also
  81. distributing a quick reference guide which you should read FIRST before
  82. trying to figure out how the program works.
  83.  
  84.     Possible future improvements:  currently all descriptions are
  85. in-memory for speed of development of small adventures.  This could
  86. easily be moved to a disk file by modifying the Look: command.
  87. The code could be compiled for speed once an adventure is completed.
  88. Object creation could be made easier by the creation of an AmigaVenture
  89. Object Editor.  Now they are simply a list of numbers in DATA statements
  90. for ease of modification with the AmigaBasic editor.  Some of the routines
  91. use recursion but AmigaBasic, though it has local variables, does not
  92. support recursion (the local variables are all static).  In future this
  93. restriction may be lifted, so the current method of recursion (using
  94. arrays) could be replaced by true recursion.  This would most likely
  95. slow program execution, however.
  96.  
  97.     Please report any bugs, questions, etc. to me by email.
  98. Enjoy!
  99.  
  100. (The following postings include the quick reference guide and the
  101. source code for AmigaVenture.  NOTE: you must do a CLEAR,170000
  102. before loading AmigaVenture, to clear enough RAM workspace for AmigaVenture
  103. to work in.  AmigaVenture is currently around 80K of compressed AmigaBasic
  104. code, but could be reduced significantly by elimination of comments.
  105. I suggest printing out the source code and the quick reference guide
  106. so you can get a feel for the layout of the program.)
  107.  
  108.             -Mitsu
  109.  
  110.  
  111.